mtx_rank Interface

public interface mtx_rank

An interface to the matrix rank routines.


Module Procedures

private pure function mtx_rank_dbl(a, tol) result(rnk)

Computes the rank of a matrix.

Arguments

Type IntentOptional Attributes Name
real(kind=real64), intent(in), dimension(:,:) :: a

The matrix.

real(kind=real64), intent(in), optional :: tol

An optional input, that if supplied, overrides the default tolerance on singular values such that singular values less than this tolerance are treated as zero. The default tolerance is: MAX(M, N) * EPS * MAX(S). If the supplied value is less than the smallest value that causes an overflow if inverted, the tolerance reverts back to its default value, and the operation continues; however, a warning message is issued.

Return Value integer(kind=int32)

The rank of the matrix.

private pure function mtx_rank_cmplx(a, tol) result(rnk)

Computes the rank of a matrix.

Arguments

Type IntentOptional Attributes Name
complex(kind=real64), intent(in), dimension(:,:) :: a

The matrix.

real(kind=real64), intent(in), optional :: tol

An optional input, that if supplied, overrides the default tolerance on singular values such that singular values less than this tolerance are treated as zero. The default tolerance is: MAX(M, N) * EPS * MAX(S). If the supplied value is less than the smallest value that causes an overflow if inverted, the tolerance reverts back to its default value, and the operation continues; however, a warning message is issued.

Return Value integer(kind=int32)

The rank of the matrix.